#include <iostream>
#include "queue.h"
#include "stack.h"
#include"priority_queue.h"

void test1()
{
	my_stack::stack<int,std::vector<int>> st;
	st.push(1);
	st.push(2);
	st.push(3);
	st.push(4);
	st.push(5);
	st.push(6);
	st.push(7);


	while (!st.empty())
	{
		std::cout << st.top() << " ";
		st.pop();
	}
	std::cout << std::endl;

}

void test2()
{
	my_list::list<int,std::list<int>> ls;
	ls.push(1);
	ls.push(2);
	ls.push(3);
	ls.push(4);
	ls.push(5);
	ls.push(6);
	ls.push(7);

	while (!ls.empty())
	{
		std::cout << ls.front() << " ";
		ls.pop();
	}
	std::cout << std::endl;
}

void test3()
{
	int n[] = { 1,5,8,0,5 };
	my_priority_queue::priority_queue<int,std::vector<int>,Greater<int>> pq(n,n+5);
	pq.push(1);
	pq.push(3);
	pq.push(6);
	pq.push(1);
	pq.push(7);

	while (!pq.empty())
	{
		std::cout << pq.top() << " ";
		pq.pop();
	}
}
int main()
{
	//test2();
	test3();
	return 0;
}